s = "Python is great!"
# 1. 字符串反转: 给定字符串`s = "Python is great!"`，不使用任何内置函数，编写代码以反转字符串。
print(s[::-1])
# 2. 字符计数: 对于同一个字符串`s`，计算字符 `t'` 在其中出现的次数。
print(s.count('t'))
# 3. 替换字符: 把字符串`s` 中的所有空格替换成下划线 ``。
print(s.replace(' ','_'))
# 4. 检查回文: 检查字符串`s2 = "A man, a plan, a canal, Panama!"` 在忽略大小写、标点和空格的情况下是否为回文字符串。
s2 = "A man, a plan, a canal, Panama!"
s2=s2.lower()
s3=[]
for e in s2:
    if e.isalnum():
        s3.append(e)
a=reversed(list(s3))
if list(a)==list(s3):
    print("Y")
else:
    print("N")
# 5. 子字符串查找: 在`s` 中查找第一次出现子字符串 `is"` 的位置。
print(s.find("is"))
# 6. 字符串插入: 在`s` 中第一个 `t'` 字符之后插入子字符串`"_inserted"`。
i=0
for e in s:
    if e=='t':
        break
    else:
        i+=1
s4=s[:i+1]+"_inserted"+s[i+1:]
print(s4)
# 7. 部分替换: 替换`s` 中第一次出现的 `great"` 为 `awesome"`。
print(s.replace('great','awesome',1))
# 8. 切片与拼接: 将`s` 切分为两部分，其中第一部分包含前半部分的字符，第二部分包含后半部分的字符，然后将这两部分以相反顺序拼接起来。
i=7#切分位置
s5=s[:i]
s6=s[i:]
print(s5)
print(s6)
s7=''.join((s6,s5))
print(s7)
# 9. 创建字符串列表: 使用列表生成式，根据字符串`s` 创建一个列表，其中包含`s` 的每个单词的首字母大写形式。
s = "Python is great!"
a=s.split(' ')
s8=[e.capitalize()for e in s.split()]
print(s8)
# 10. 字符替换加密: 编写一个函数`encrypt`，使用字典 `a: m, b: n, ... z: l}` 的对应规则加密字符串`s3 = "encryption"`。
s3 = "encryption"
def encrypt(s):
    s9 = {}
    for i in range(26):
        a = chr(ord('a') + i)#（a-z）
        s12 = chr(ord('a') + (i + 12) % 26)#后移12位
        s9[a] = s12
    s11 = []
    for char in s:
        if char in s9:
            s11.append(s9[char])
        else:
            s11.append(char)
    return ''.join(s11)
print(encrypt(s3))






